package net.lanelife.casino.caipiao.dto.admin;

import javax.validation.constraints.NotNull;

import net.lanelife.casino.caipiao.entity.User.AccountType;
import net.lanelife.casino.caipiao.entity.User.RegisterSource;
import net.lanelife.casino.caipiao.validation.RebatePoint;
import net.lanelife.casino.common.dto.TransientDTO;
import net.lanelife.casino.common.validation.Password;
import net.lanelife.casino.common.validation.Username;

public class UserCreateDTO extends TransientDTO<Integer> {

	private static final long serialVersionUID = -1628116033392973834L;

	@Username
	private String userName;
	
	private String parentName;
	
	@NotNull
	private AccountType accountType = AccountType.AGENT;
	
	@Password
	private String loginPassword;
	
	private String passwordSalt;
	
	@NotNull
	private Integer layerId;
	
	@NotNull
	private Boolean layerLocked = Boolean.FALSE;
	
	@RebatePoint
	private Double rebatePoint;
	
	private RegisterSource registerSource = RegisterSource.MANUAL;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName.trim();
	}

	public String getParentName() {
		return parentName;
	}

	public void setParentName(String parentName) {
		this.parentName = parentName;
	}

	public AccountType getAccountType() {
		return accountType;
	}

	public void setAccountType(AccountType accountType) {
		this.accountType = accountType;
	}

	public String getLoginPassword() {
		return loginPassword;
	}

	public void setLoginPassword(String loginPassword) {
		this.loginPassword = loginPassword;
	}

	public String getPasswordSalt() {
		return passwordSalt;
	}

	public void setPasswordSalt(String passwordSalt) {
		this.passwordSalt = passwordSalt;
	}

	public Integer getLayerId() {
		return layerId;
	}

	public void setLayerId(Integer layerId) {
		this.layerId = layerId;
	}

	public Boolean getLayerLocked() {
		return layerLocked;
	}

	public void setLayerLocked(Boolean layerLocked) {
		this.layerLocked = layerLocked;
	}

	public Double getRebatePoint() {
		return rebatePoint;
	}

	public void setRebatePoint(Double rebatePoint) {
		this.rebatePoint = rebatePoint;
	}

	public RegisterSource getRegisterSource() {
		return registerSource;
	}

	public void setRegisterSource(RegisterSource registerSource) {
		this.registerSource = registerSource;
	}

}
